package com.tju.ocean_ecology_website.entity;

import java.util.Date;
import java.io.Serializable;

/**
 * 志愿者证书表(VolunteerCertificate)实体类
 *
 * @author shaolong
 * @since 2025-05-05 10:00:00
 */
public class VolunteerCertificate implements Serializable {
    private static final long serialVersionUID = 123456789012345678L;

    /**
     * 证书ID
     */
    private Long id;

    /**
     * 志愿者ID
     */
    private Long volunteerId;

    /**
     * 证书名称
     */
    private String certificateName;

    /**
     * 证书编号
     */
    private String certificateCode;

    /**
     * 颁发日期
     */
    private Date issueDate;

    /**
     * 过期日期
     */
    private Date expireDate;

    /**
     * 颁发机构
     */
    private String issuingAuthority;

    /**
     * 证书类型：0-志愿服务证书, 1-培训证书, 2-荣誉证书
     */
    private Integer certificateType;

    /**
     * 证书图片URL
     */
    private String certificateImage;

    /**
     * 证书描述
     */
    private String description;

    /**
     * 状态：0-有效, 1-已过期, 2-已撤销
     */
    private Integer status;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    // 非数据库字段，用于关联查询
    private String volunteerName;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getVolunteerId() {
        return volunteerId;
    }

    public void setVolunteerId(Long volunteerId) {
        this.volunteerId = volunteerId;
    }

    public String getCertificateName() {
        return certificateName;
    }

    public void setCertificateName(String certificateName) {
        this.certificateName = certificateName;
    }

    public String getCertificateCode() {
        return certificateCode;
    }

    public void setCertificateCode(String certificateCode) {
        this.certificateCode = certificateCode;
    }

    public Date getIssueDate() {
        return issueDate;
    }

    public void setIssueDate(Date issueDate) {
        this.issueDate = issueDate;
    }

    public Date getExpireDate() {
        return expireDate;
    }

    public void setExpireDate(Date expireDate) {
        this.expireDate = expireDate;
    }

    public String getIssuingAuthority() {
        return issuingAuthority;
    }

    public void setIssuingAuthority(String issuingAuthority) {
        this.issuingAuthority = issuingAuthority;
    }

    public Integer getCertificateType() {
        return certificateType;
    }

    public void setCertificateType(Integer certificateType) {
        this.certificateType = certificateType;
    }

    public String getCertificateImage() {
        return certificateImage;
    }

    public void setCertificateImage(String certificateImage) {
        this.certificateImage = certificateImage;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getVolunteerName() {
        return volunteerName;
    }

    public void setVolunteerName(String volunteerName) {
        this.volunteerName = volunteerName;
    }
}
